invocations.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { useParams } from 'common'
  2. import { LogsPreviewer } from '@/components/interfaces/Settings/Logs/LogsPreviewer'
  3. import DefaultLayout from '@/components/layouts/DefaultLayout'
  4. import EdgeFunctionDetailsLayout from '@/components/layouts/EdgeFunctionsLayout/EdgeFunctionDetailsLayout'
  5. import { useEdgeFunctionQuery } from '@/data/edge-functions/edge-function-query'
  6. import type { NextPageWithLayout } from '@/types'
  7. export const LogPage: NextPageWithLayout = () => {
  8. const { ref, functionSlug } = useParams()
  9. const { data: selectedFunction, isPending: isLoading } = useEdgeFunctionQuery({
  10. projectRef: ref,
  11. slug: functionSlug,
  12. })
  13. if (selectedFunction === undefined || isLoading) return null
  14. return (
  15. <div className="flex-1">
  16. <LogsPreviewer
  17. condensedLayout
  18. projectRef={ref as string}
  19. queryType="fn_edge"
  20. filterOverride={{ 'request.pathname': `/functions/v1/${selectedFunction.slug}` }}
  21. />
  22. </div>
  23. )
  24. }
  25. LogPage.getLayout = (page) => (
  26. <DefaultLayout>
  27. <EdgeFunctionDetailsLayout title="Invocations">{page}</EdgeFunctionDetailsLayout>
  28. </DefaultLayout>
  29. )
  30. export default LogPage